home *** CD-ROM | disk | FTP | other *** search
- ELF x WINSOCK history
-
- ELF x WINSOCK has been developed by Alfredo Milani-Comparetti in 1995-97.
- Version 1.00 has been released after having written an italian version for DOS.
- The command parser remained the same for compatibility, but everything else had
- to be totally rewritten. If you are or like italian and can connect using a
- serial link then you migth find nice to take a look at ELF x DOS. You can find
- it by FTP at FTP.ATS.IT.
-
- 1.00 - Porting from DOS version of commands and expressions parser
- - link to WINSOCK DLL
- - visual interface
- - configuration
- - function @WOPEN(title) to open a user window (returns an
- integer value to be used as ID, -1 if unsuccessful)
- - META-COMMAND @WCLOSE id to close a user window
- - META-COMMAND @WCLEAR id erase the content of a user window
- - function @WLINES(id) to get how many lines are in a user
- window
- - META-COMMAND @WPUT id,line number,text to write in a user
- window
- - function @WGET(id,line number) to retrieve text from a user
- window
- - user windows accept ANSI coloured text
- - when the left mouse button is pressed over an existing line of
- a user window the alias ONWINCLICK is called with the
- following parameters: ONWINCLICK id,x,y where X and Y are 0
- based
- - when you quit ELF, then alias ONQUIT (with no parameter) is
- called
- - ELF stores user window's positions by name in ELFWINS.INI when
- they are closed and recreates them in that position next time
- - much much else...
- 1.01 - opening a connection by host name instead of numeric address now works
- fine
- - a SEND of 0 bytes to the SOCKET is cancelled to be compatible with the
- TRUMPET WINSOCK that considers this an error (Microsoft's TCP/IP doesn't)
- - deleting a MACRO now works fine
- - enabled the multi-selection of macros for editing and deleting
- - smoother showing of the first received lines
- - the numeric address derived from the opening of a connection by host
- name is now stored in MUD's data
- - enhanced the resizing of some configuration pages, correctly updating
- OK buttons and showing SCROLLERs if needed
- - SHIFT-TAB toggles invisible editing on/off
- - correctly stored and retrieved from ELF.INI the size of the header of
- the list box in MACRO's configuration
- - the maximum number of characters that can be used for a command are now
- correctly updated depending on the number of lines used thus letting
- you use as much characters as possible up to the maximum internal value
- of 254
- - CTRL-W lets you enter a text to be sent plain or as a sequence of
- commands to the MUD
- 1.02 - when processing data, the logo, the real time watch, the tick timer and
- @IdleProc are stopped to speed up operations
- - now it is possible to specify the rate for processing windows messages
- selecting after how many consecutive lines, received from the MUD,
- windows messages are to be processed. This enhances ELF's speed but might
- arise problems in other mission critical applications (a rate up to 10
- seems to work fine on slower systems). I'm obviously unable to
- determinate the magic value: have some trials :-)
- - the previous changes brought a speed increment of about 25%
- - the ANSI code for BOLD is translated to HIGH INTENSITY and correctly
- used
- 1.03 - implemented a registration code that survives through downloaded versions
- 1.04 - multi-selecting triggers, aliases, macros and vars during configuration
- now follows standard windows's behaviours
- - now you can close ELF by double-clicking the system-menu
- - receiving TELNET ECHO OFF from remote system, now auto-selects hidden
- input
- - the page named INTERNAL in configuration has been renamed GENERAL
- - now the socket is closed automatically when the asyncronous message
- SOCKET CLOSE is received from the remote system
- - the size of the main window, as well as its status (normal/maximized), is
- stored in ELF.INI
- - enhanced error checking for user windows
- - CTRL-K (Send Raw String) now works fine
- - the font used for the scroll-buffer is now stored in ELF-INI
- 1.05 - now you can access individual configure pages and pc's selection by
- using the main menu
- - last chosen MUD is put on top of MUD's list and auto-selected to speed
- up reconnecting
- - now it is possible to use the ALT key for MENU selection. Any already
- defined macro using the ALT key with or without the SHIFT key will be
- activated (see General Config Page)
- - THE SOCKET IS NO LONGER AUTOMATICALLY CLOSED (I NEED TESTING...)
- - scroll-buffer's memory is now allocated in larger blocks to save used
- resources (and to slightly improve startup speed)
- 1.06 - faster scrolling
- 1.07 - at last, the height of the font of the main window is parsed correctly
- - added TRANSLATIONS editing in config pages
- - on exit ELF asks wether to check untested translations
- - translations may be sorted by name or by UNTESTED during config changes
- - translations may be added, deleted and modified
- - updated translations are now stored on disk on exit
- - restructured the circular buffer used to store scroll-back data
- - fixed (at least I hope so :-)) a bug when refreshing multiple lines
- together in scroll-buffer to speed up things
- 2.00 - fixed tab order in config's GENERAL page
- - correctly got the height of the font loaded ad startup (at least I hope
- so ;-))
- - it is possibile to set REFRESHRATE to force a smoother scroll when
- receiving a lot of data
- *****************************************************************************
- * - UNREGISTERD version is no longer enabled to change PC or to have more *
- * than one mud defined... Sorry, but a marketing expert told me I was an *
- * idealist not limiting ELF in any way and this seems to be the nicest *
- * way to limit my idealism :-) *
- *****************************************************************************
- - function @LOGNAME returns '' if the LOG file is closed and its file name
- if is opened
- - @LOGCLOSE closes the LOG file (if open)
- - the @LOG @META-COMMAND now needs a string expression. Therefore you have
- to issue the command '@LOG "PROVA.TXT"' and not '@LOG PROVA.TXT'
- - @INGROUP now returns 0 if not a member of your group or the index inside
- your group if member (try thinking of this feature using a user window
- to selected which member to auto-rescue and which not)
- - the font dialog now uses the right color
- - CTRL-O opens MACROs's config page
- - CTRL-V opens VARIABLEs's config page
- - CTRL-Y opens ALIASes's config page
- - CTRL-R opens TRANSLATIONs's config page
- - CTRL-T opens TRIGGERs's config page
- - CTRL-J opens MOUSE's config page
- - config pages now have keyboard short-cuts for all buttons
- - correctly set the fields with initial focus in various dialogs
- - extended use of short-cuts in buttons, radiogroups and checkboxes
- - the dialog for macro's editing now uses a button to activate the
- selection of the key sequence
- - added short-cuts to main window
- - fixed a problem with variable substitution in lines starting with '@'
- - added function @RND(n) that returns a random number between 0 and n-1
- (n must be in the interval 0-->65535)
- - when saving text selected from the scroll buffer, ELF was trying to
- remove REAL ANSI sequences and not their ELF internal form, corrupting
- the text. Fixed
- - GENERAL config page lets you specify how many seconds before tick must
- be executed @CALL @PRETICK
- - in GENERAL config page the selection of main font and beeps now is done
- by pressing buttons, to speed up keyboard operations
- 2.01 - enabled short-cuts for almost every field
- - configuration correctly handles the number of seconds to anticipate
- tick's arrival
- - the running logo now runs smoother, is faster and uses less system
- resources
- - now ELF handles exceptions when playing ALL WAV files avoiding
- unexpected messages to appear and corrupt program flow
- 2.02 - added code to help detecting a strange error when FREEZEing and scrolling
- backwards
- 2.03 - configuration lets you choose if @INGROUP uses the extended syntax
- (added for compatibility with old triggers sets)
- - GAUGE.VBX is no longer used, to avoid conficts with other software. An
- internal DELPHI component is used instead
- - BWCC.DLL is no longer needed (so the distribution file is smaller :-))
- - added documentation in WinWord 2.0 format
- 2.04 - the multimedia player now plays WAV and MID files
- - pressing left mouse button over a user window now calls OnWinClick with
- the correct line number (no longer limited by the number of lines
- currently present in the window)
- - added a small button to promote registering :-)
- - GENERAL config page now lets you select which panels are visible and
- which are not in the main window
- - WHATSNEW.TXT has been integrated with an on-line auto-showing info window
- 2.05 - BIVBX11.DLL is no longer needed
- - the configuration dialog hides when selecting (in)visible panels
- - added capability to change several fonts in the main window
- - the font of the scroll-back can be changed from the APPEARANCE dialog
- - the APPEARANCE dialog uses a popup menu called by the right mouse button
- - the COLORS config page has been changed to APPEARANCE
- - the APPEARANCE dialog now is located in the APPEARANCE config page
- - the font of the scroll-back now must be changed via the APPEARANCE dialog
- in the APPEARANCE config page
- - the maximum length of a line in the scroll buffer now must be changed in
- the APPEARANCE config page
- - LOGO speed now must be changed in the APPEARANCE config page
- - now the history buffer works in two different ways (see GENERAL config
- page)
- - now you can select which questions are to be made on quitting ELF (see
- GENERAL config page)
- 2.06 - if the main window is restored in maximized state then the normal state
- is derived so that it is easy to resize
- - when FREEZE is ON, triggers are no longer verified on incomplete lines
- and @IDLEPROC is no longer @CALLed
- - fixed a problem when using the default PROMPT and PROMPTTEST and the
- movement was used to recognise the tick
- - the expression parser now correctly handles the UNARY MINUS (@num=-12
- now works fine)
- - FOR REGISTERED USERS: the number of lines in the SCROLL-BACK may be
- changed in the GENERAL config page (you are no
- longer limited to 500 lines)
- - fixed a problem with the multimedia player
- - added a panel to send dir commands with the mouse (COMPASS PANEL)
- - the COMPASS panel may be hidden using the APPEARANCE dialog
- - now it is easier to define new Playing Characters and related files (can
- be derived from the active PC)
- - FOR REGISTERED USERS: added FIND FIRST e FIND NEXT in the SCROLL-BACK
- (enabled only when SELECTED in ON)
- - the string found in the SCROLL-BACK is highlighted in inverse video
- - added an EXPLAIN button in the HOW TO dialog that illustrates the BONUSES
- that a REGISTERED user will get
- - horizontal and vertical toolbar correctly handle fonts changes
- - log and connect are now handled in a better way
- 2.07 - some panels in the main window have been repositioned
- - FOR REGISTERED USERS: the COMPASS panel has 3 user definable buttons
- - META-COMMAND @TOCLIP "text" to put TEXT in the clipboard
- - now the font of the INPUT BOX is selectable
- - the font and the visibility of the MESSAGE LINE (the bottom one) are now
- user-definable
- - FOR REGISTERED USERS: the running LOGO can be stopped by setting its
- speed to 0
- - added checking for corrupted logo
- - external BMP files are now included in ELF.EXE as resources
- - FOR REGISTERED USERS: only registered users can run multiple instances of
- ELF x WINSOCK
- - double-clicking on a file name in the OPEN LOG dialog will open the LOG
- - TELNET ECHO ON correctly sets visible input (before, it could cause an
- invisible input after some triggers)
- - added a panel to show the number of characters in the input line
- - when SELECT is turned ON, automatically FREEZE is turned ON too
- - when SELECT is ON, a popup menu can be activated with the right mouse
- button over the scroll-buffer
- - FOR REGISTERED USERS: SELECT's popup menu lets you save selected text to
- the clipboard
- 2.08 - added a TRIGGER WIZARD
- - added an ANSI COLOR WIZARD
- - fixed a possible problem in recursive processing of messages with some
- system configurations
- - FOR REGISTERED USERS: - the TRIGGER WIZARD actually creates the newly
- created trigger (UNREGISTERED users will have to
- copy it by hand :-))
- - the ANSI COLOR WIZARD automatically inserts the
- generated code in the commands
- 2.09 - speeded up the presentation of the very first page of text
- - fixed up a problem when removing with ENTER the error messages issued by
- user windows
- - a list box in the main window lets you reopen hidden user windows
- - before loading a new PC's configuration, ELF issues @CALL @QUITPC (if
- @QuitPC exists)
- - heavily restructured the routines for showing incoming data (I think
- (hope) that all those strange problems are fixed :-))
- - the GENERAL CONFIG page lets you specify MOVEMENT's position in the
- prompt test string
- - added functions MYHP, MYMANA and MYMOV
- - the internal word-processor auto-selects its text
- - the fixed size font used is now FIXEDSYS and no longer TERMINAL (this
- font (VGAFIX.FON) is now included in the distribution package)
- 2.10 - restructured some important routines
- - greatly reduced problems when scrolling the scroll-buffer (problems with
- the mouse capture)
- - created a 32 bit version for Windows 95 (currently under advanced
- beta-testing :-)) (this WON'T BE considered a MAJOR UPGRADE :-))
- - added short-cuts and sorted controls' tab order in new windows
- - panel visibility is now stored in local PC's configuration TOO
- - it is possible to set a delay to auto-save the log file
- - for every MUD you can define different end of line sequences (CR, LF,
- CR+LF, LF+CR). Nice for MUSH players (I think :-))
- - changed ELF's icon
- - restructured the GENERAL configuration page
- - added infos on configuration in ELF's documentation
- - META-COMMAND @WADD(id,text) to add a line of text at the end of a user
- window
- - FUNCTION @WOPEQ(title). Returns the ID of the user window with the same
- TITLE or the ID of a new one if it doesn't exist
- - FUNCTION @WNUM(title). Returns the ID of the window with the specified
- TITLE (-1 if not found)
- - FUNCTION @WSTAT(id). Returns a value depending on the visual status of
- the user window
- - FUNCTION @WMAXID. Returns the highest ID allocated for user windows
- - FUNCTION @WTITLE(id). Returns the title of the user window ('' if it
- doesn't exist)
- - extended (ELF) ANSI background color codes now work correctly
- - @WADD brings to view the last added line (only if previously the last
- line was shown too)
- - now @CALL @ONQUIT is executed even when exit confirmation is disabled
- 2.11 - the extraction of variable parts ('*' processing in triggers, aliases,
- etc...) has been buffered to increase processing speed
- - converted DOCumentation to HLPmentation :-)))
- - HOME and END now correctly go before the first and beyond the last
- character in the editing field
- - the system menu in user windows has been re-enabled, but CLOSE is still
- disabled (for programming purposes)
- - added a toolbar to control multiple instances
- - various changes to fonts, appearance, styles and so on
- - added an option to aliases that forces the variables to be expanded in
- the pattern before checking it (see help for more infos)
- - the list-boxes in the CONFIG dialog are created on the fly to speed up
- operations
- - the translation of a long name into a short name can be selected by
- double-clicking on a word of the long name
- 2.12 - Windows 95 version correctly handles multiple instances
- - speeded up interprocess communication for handling multiple instances
- opened at once
- - improved speed especially when receiving chars from the MUD
- - now ELF politely signals to TELNET servers the options it doesn't
- recognise (so you can connect even via normal TELNET)
- - added all missing short-cuts in the dialogs
- - added in the dialogs several references (help buttons) to on-line help
- - with CTRL-D you can clear the history buffer (to definitely hide your
- password :-))
- 2.13 - added a vertical scroll-bar when editing commands
- - added a few new messages in the trigger wizard
- - added file-handling META-COMMANDS and FUNCTIONS:
- - @FWR id,string (writes a line of text to a file)
- - @FCL id (closes an open file)
- - @FOPW(file-name):number (opens a file for writing)
- - @FOPA(file-name):number (opens a file for appending)
- - @FOPR(file-name):number (opens a file for reading)
- - @FNRD(id):number (reads a number from a file)
- - @FSRD(id):string (reads a string from a file)
- - @FEOF(id):number (tests EOF condition for a file)
- 2.14 - added a new menu FLAGS that lets you modify FREEZE, BUFFERED, SELECT and
- TRIGGERS ON
- - the timer that show when the TICK will happen is now dinamically showed
- on one the following panels (the first one that is visible): TIME panel,
- EXITS panel, HORIZONTAL TOOLBAR
- - fixed a bug that caused the definitions of the mouse over the scroll
- buffer to be lost when modifying the configuration without accessing the
- mouse page
- - CTRL-PAGE-UP, CTRL-PAGE-DOWN, CTRL-UP and CTRL-DOWN let you navigate
- in the scroll buffer
- - added a hint window
- - the configuration files are now always read from program's directory
- - completely rewritten the PROMPT WIZARD!!! Take a look at it in the
- GENERAL-CONFIGURATION page
- - added a new option in the GENERAL CONFIG page: NOSOUND, to disable all
- sounds: useful if you have problems with sounds on a computer with no
- sound card
- 2.15 - registered users can hide the panel containing the running logo
- - FUNCTION @CRY("text","key"). Returns text encrypted using the specified
- key
- - FUNCTION @DCRY("text","key"). Returns decrypted text using the specified
- key
- - added 10 more buttons to the horizontal toolbar
- - added demo triggers and aliases to demonstrate how to use ENCRYPTED
- messaging
- - in VARS.ITA:
- - trigger DECODIFICA: automatically decodes the text between '.,'
- and '.,'
- - aliases TELL codificato, SEND codificato... : execute TELL, SEND,
- MESS, TELE and GT coding the message
- - in VARS.ENG:
- - trigger DECRYPT: automatically decodes the text between '.,'
- and '.,'
- - alias CRYPT TELL: executes TELL coding the message
- - all the routines use the variable @CRYPWD to contain the password:
- both the sender and the receiver of the message must have the same
- password in @CRYPWD
- 2.16 - speeded up decryption
- - REMOVED A BUG THAT SELDOM CAUSED AN ERROR WRITING VARS.xxx
- - using find to find a non-existing string in a full scroll-buffer no
- longer causes a RANGE CHECK ERROR (that, anyhow, caused no harm at all)
- - in the CONFIGURATION-ALIAS page now you can view either alias names or
- alias patterns
- 3.00 - the dialogs used to modify triggers, aliases, macros and buttons have
- been fully rewritten with a common resizable interface
- - added a COMMAND WIZARD to interactively insert meta-commands
- - the command interpreter now uses TOKENS to lower memory requirements
- (you'll be able to write longer sequences of commands) and to speed up
- things
- - added functions for much much easyer and faster color setting in command
- sequences
- - added function @PUSHCOLORS and @POPCOLORS for temporary color overriding
- in complex output text
- - added a FUNCTION WIZARD to interactively insert functions
- - added function @NORMALCOLORS that reset colors to default values inside
- an output text
- - added function @PARMS that returns the value of a parameter (much like
- '%') as a string. @ParmS(2=a) equals to '%2=a' but is faster and
- completely avoids maximum string length overflow (255 chars)
- - added function @PARMN that returns the value of a parameter (much like
- '%') as a number. @ParmS(1=t) equals to '%1=t' but is faster and
- completely avoids maximum string length overflow (255 chars)
- - several windows remember their size
- - in the MAIN WINDOW APPEARANCE dialog the selection of the font for the
- WATCHES PANEL now works fine again
- - added explicit HELP buttons in the various CONFIGuration pages
- - the PARAMETER WIZARD (used by the TRIGGER WIZARD) lets you fully
- configure parameter extraction
- - the TRIGGER WIZARD uses the new common dialog to define the commands to
- be executed
- - added function @HICOLORS to set high intensity ANSI colors
- - the ANSI WIZARD works with the new color functions too
- - added function @POPUPS("option-1",..,"option-n") that displays a popup
- menu and returns the name of the selected item
- - added function @POPUPN("option-1",..,"option-n") that displays a popup
- menu and returns the index (starting from 1) of the selected item
- - added meta-command @ASSIGN("variable-name",expression) that assigns the
- value resulting from <expression> to the specified variable
- - Windows 95 version has SYNTAX HIGHLIGHT (can be disabled) when editing
- command sequences
- - added meta-command @REM <comment> to insert a comment in a sequence of
- commands
- - added in the APPEARANCE configuration page the controls to create custom
- syntax highlight
- - fully restructured (de)crypting routines to avoid overflow problems in
- 16 bit version
- - the variable parts in the trigger wizard are now shown in BOLD
- - fixed a 'feature' that caused single '#' in output text to be converted
- to a NULL character and speeded up '#<num>' parsing
- - drag&drop now can't be activated for horizontal and vertical toolbars by
- simply passing over the buttons with the left ouse button pressed
- - added a LOGIN WIZARD that creates the proper triggers for automatically
- login you character in the MUD
- - FULLY RESTRUCTURED THE TRIGGER WIZARD to improve friendlyness
- - added function @POS(<sub-text>,<text>,<starting-position>) that finds a
- substring in a string starting from a specified position
- - increased ELF's tolerance in recognising multiple ticks
- - @POPUPN and @POPUPS activate a special mode very similar to FREEZE to
- avoid problems
- - added meta-command @TICKNOW that forces tick recognition
- - FULLY RESTRUCTURED THE PROMPT WIZARD to improve friendlyness
- - added several new features to automatic TICK recognition to improve
- precision
- - when the right mouse button is pressed over an existing line of a user
- window the alias ONWINRCLICK is called with the following parameters:
- ONWINRCLICK id,x,y where X and Y are 0 based
- - added META-COMMAND @WINSERT <id>,<line>,<text> that inserts <text> at
- <line> in user window <id>
- - now it is possible to @WCLOSE a user window while handling its
- ONWINCLICK (and ONWINRCLICK)
- - ONWINCLICK and ONWINRCLICK now set the y value accordigly with the
- scroller
- - @PARMS and @PARMN are now expanded even when there is not an expression
- (much like variables). Now you can FULLY AVOID using '%' parameter
- expansion, thus increasing speed!
- 3.01 - all the list boxes in the configuration dialog now use a proportional
- default font
- - now it is possible to disable the login wizard for a particular
- configuration
- - colors definitions (@FGxxx and @BGxxx) are now recognised in a more
- extended way
- 3.02 - it is possibile to disable the login wizard
- - you can choose how to be informed when the maximum value for a stat is
- detected (with a message, with an alias call (OnMaxMANA, OnMaxMOV,
- OnMaxHP), with nothing)
- 4.00 - FROM NOW ON, ONLY WINDOWS 95 VERSION WILL BE ENHANCED
- - PLEASE, POST ME ANY ERROR OR STRANGE BEHAVIOUR YOU MAY ENCOUNTER
- - almost every limit in string length (chars received from the mud,
- command length, ...) has been removed
- - the DELAY meta-command has been reenabled and works fine
- 4.01 - revised the appearance of some dialogs (especially the CONFIG dialog)
- - added meta-command @QUEUE <delay-seconds>,<commands>
- 4.02 - NOW ELF CAN BE REGISTERED USING CREDIT CARDS AND OTHER SERVICES
- - CHECK HTTP://ASCU.UNIAN.IT/~MILANI
- - added a (beta-version) AUTO-MAPPER. Test it and let me know!
- - the alias ONCONNECT is called when connection is established
- - the alias ONDISCONNECT is called when connection is lost
- - now ELF correctly closes sockets after disconnections
- - added function @LASTMUD that returns a string containing the name of the
- last established connection
- - added meta-command @CONNECT <name> to connect to <name> (as it appears
- in the connection dialog)
- - added meta-command @DISCONNECT to disconnect the active connection
- - removed a BUG that caused ELF to hang on exit if using extended alias
- recognition
- - added features to default ENGLISH configuration (like PERSONAL CHAT
- WINDOWS with right mouse button handling)
- - added a ROLLER to user windows. Use with care, especially when using
- several user windows
- - the buttons to (dis)connect have collapsed into the same button
- - LOG files are now correctly parsed (RAW,COMPRESSED,STRIPPED)
-
-